package com.attendance.util;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

/**
 * 时间和日期的处理类
 */
public class DateUtil {
    /**
     * String转为LocalDate
     * @param date 需要转换的日期字符串
     * @return yyyy-MM-dd
     */
    public static LocalDate stringToDate(String date){
       return LocalDate.parse(date, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
    }
    /**
     * String转为LocalTime
     * @param date 需要转换的日期字符串
     * @return HH:mm:ss
     */
    public static LocalTime stringToTime(String date){
        return LocalTime.parse(date, DateTimeFormatter.ofPattern("HH:mm:ss"));
    }
    /**
     * String转为LocalDateTime
     * @param date 需要转换的日期字符串
     * @return yyyy-MM-dd HH:mm:ss
     */
    public static LocalDateTime stringToDateTime(String date){
        return LocalDateTime.parse(date, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
    }

    /**
     * 把LocalDate转为String
     * @param date 需要转换的日期
     * @return yyyy-MM-dd
     */
    public static String dateToString(LocalDate date){
        return date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
    }
    /**
     * 把LocalTime转为String
     * @param date 需要转换的日期
     * @return HH:mm:ss
     */
    public static String timeToString(LocalTime date){
        return date.format(DateTimeFormatter.ofPattern("HH:mm:ss"));
    }
    /**
     * 把LocalDateTime转为String
     * @param date 需要转换的日期
     * @return yyyy-MM-dd HH:mm:ss
     */
    public static String dateTimeToString(LocalDateTime date){
        return date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
    }
}
